package com.cx.base.day03_日期;

import java.sql.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.concurrent.ConcurrentHashMap;

/**
 * @Author songyahui
 * @Date 2023/9/18 23:49
 * @Description
 */
public class DateTest {

    public static void main(String[] args) throws ParseException {
        test1();
    }

    public static void test1() throws ParseException {
        //        util.date：格林尼治时间，即以1970 年 1 月 1 日 至 2038 年 01 月 19 日 03 时 14 分 07 秒
//        没有格式化时间：Mon Sep 18 23:34:29 CST 2023
        System.out.println(new java.util.Date());
//        格式化Date
        java.util.Date ss = new java.util.Date();
        System.out.println("一般日期输出：" + ss);
        System.out.println("时间戳：" + ss.getTime());
        SimpleDateFormat format0 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time = format0.format(ss.getTime());//这个就是把时间戳经过处理得到期望格式的时间s
        System.out.println("格式化结果0：" + time);
        SimpleDateFormat format1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        time = format1.format(ss.getTime());
        System.out.println("格式化结果1：" + time);
//          sql.date：只显示格式化的格林尼治日期，舍弃了时间 1970-01-01
        System.out.println(new Date(10000000));
//        推荐使用LocalDateTime
//          不限于格林尼治，而且时间完成了格式化，2023-09-18T23:34:29.910
        System.out.println(LocalDateTime.now());
        //  可以通过方法动态设置任意时间单位：1901-09-18T23:34:29.910
        System.out.println(LocalDateTime.now().withYear(1901));
    }
}
